Swivel bar concept within a 3d space to invite users to explore additional data on a third axis

ABSTRACT

A 3D swivel bar chart has primary bars with associated secondary bars shown in a condensed form, such as along the z-axis hidden behind a corresponding primary bar. When a primary bar is selected, associated secondary bars swivel out from the z-axis to the front plane. When deselected, the secondary bars swivel back to the z-axis. The user can see additional information is tied to a bar without cluttering the presentation. For an application involving evaluation of a cognitive system, the primary bars can represent confidence levels for candidate answers to a natural language question. The chart includes a legend which displays a particular result when the corresponding primary bar is selected. When a label in the legend is selected, the visualization is augmented with explanatory information pertaining to the particular result, such as evidence extracted from corpora used by the cognitive system to arrive at the result.

CROSS-REFERENCE TO RELATED APPLICATION

This application is related to U.S. patent application Ser. No. ______entitled “GRAPHICAL EVALUATION OF A COGNITIVE ANALYSIS USING A 3D SWIVELBAR CHART” (attorney docket no. AUS920160445US1) filed concurrentlyherewith, which is hereby incorporated.

BACKGROUND OF THE INVENTION Field of the Invention

The present invention generally relates to graphical user interfaces,and more particularly to a method of displaying information with avisual aid such as a bar chart.

Description of the Related Art

Diagrams and charts of various sorts are used in a wide variety ofapplications such as business presentations, scientific analysis, andindustrial control equipment. Some of the most commonly used chartsinclude line charts, pie charts, and bar charts. Bar charts typicallyuse vertically-disposed bars or columns of varying height to representdiscrete quantities which are the subject of the chart, but bar chartscan be horizontal as well. A bar chart can include a vertical (y) axiswith graduation marks or other units of measurement to indicate a scale,usually at the left side of the chart. Labels above each bar or belowthe horizontal (x) axis indicate the particular feature that a datavalue is associated with. Histograms are similar to bar charts buthistograms are used to show distributions of variables while bar chartsare used to compare variables.

While the earliest bar charts were in printed form (i.e., hard copy),charts and graphs can also be generated electronically, e.g., using acomputer system and appropriate graphics software, shown on a displaydevice such as a cathode-ray tube or liquid crystal display, or viewedwith the assistance of a projector. The simplest bar charts are twodimensional (2D), but they can also be three dimensional (3D), that is,still seen on a 2D surface but having a representation which includes athird or depth (z) axis. In a 3D bar graph the bars are typically shownas blocks generally having the same width and depth but with varyingheights. Color coding can also be employed with bar charts, i.e., barshave different colors or graphic schemes to represent certaincharacteristics or groupings. Other visual features can be used inconjunction with bar charts such as textures, shading, gradients,dashes, picture-like images, beveling, reflections, glow, etc.

Many graphics programs can automatically generate a chart, including barcharts, using preset templates. The chart creator selects a desiredtemplate and fills in various fields (title, categories, series,quantities, colors, etc.) for that template, and the software draws thecorresponding chart details; the software may provide additionalinformation that was inferred from but not directly provided by the userinput, such as the scale for graduation marks along a vertical axis.Some graphics programs allow the presenter or user to focus ordrill-down on a bar graph. Focus is a simple matter of moving the chartin a certain direction or changing its scale along one or moredimensions. Changing focus can be accomplished using various computertools such as keyboard commands, a graphical pointing device (e.g.,mouse) or touchscreen responsive to swipes or other finger gestures.Drill-down (or drill-in) is the ability to inspect further details abouta particular feature of a chart. For example, a user could drill-downinto a bar chart showing sales according to different years by clickingon one of the columns corresponding to a particular year, and then thechart will change to one showing sales for that year by month. Anelectronic graph can also include a link embedded in any visual feature,such as a bar chart column, which can be used to invoke other objects,such as another slide in a presentation.

SUMMARY OF THE INVENTION

The present invention in at least one embodiment is generally directedto the display of secondary data associated with primary data bygenerating a three-dimensional visualization of the primary data using adisplay device, the three-dimensional visualization including aplurality of primary graphical elements representing primaryquantitative values and a plurality of primary labels respectivelyassociated with and proximate to the primary graphical elements, theprimary graphical elements and primary labels being presented on a frontplane of the three-dimensional visualization defining first and secondaxes, and at least one of the primary graphical elements havingassociated secondary graphical elements representing secondaryquantitative values wherein the secondary graphical elements arepresented along a third axis of the three-dimensional visualization,then detecting that the at least one primary graphical elements has beenselected, and responsively transitioning the three-dimensionalvisualization by moving the secondary graphical elements from the thirdaxis of the three-dimensional visualization to the front plane of thethree-dimensional visualization. In the illustrative implementation thevisualization is a bar chart where the primary and second graphicalelements are bars. When another one of the primary graphical elementshas been selected the three-dimensional visualization can be furthertransitioned by moving the secondary graphical elements from the frontplane back to the third axis. The secondary graphical elements arepreferably overlapping and located visually behind the primary graphicalelement when presented along the third axis. The transitioning caninclude shifting certain primary graphical elements along the first axisto provide spacing to accommodate the secondary graphical elements atthe front plane. To achieve the 3D effect, the secondary graphicalelements can be arranged along a skewed angle from the first axis whichhas a downward pitch. The secondary graphical elements can also be atleast partially transparent when presented along the third axis.

The above as well as additional objectives, features, and advantages inthe various embodiments of the present invention will become apparent inthe following detailed written description.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention may be better understood, and its numerousobjects, features, and advantages of its various embodiments madeapparent to those skilled in the art by referencing the accompanyingdrawings.

FIG. 1 is a block diagram of a computer system programmed to carry outgraphics creation including charts such as bar charts in accordance withone implementation of the present invention;

FIG. 2 is a screenshot of a user interface for a graphics packagerunning on the computer system of FIG. 1 including a spreadsheet-typewindow or pane allowing a user to enter both primary data and secondarydata associated with the primary data which is to be displayed as aswivel bar in a 3D bar chart in accordance with one implementation ofthe present invention;

FIGS. 3A-3D are bar charts as seen on a display device illustrating howuser interaction can bring secondary data associated with a primary barto the forefront of the chart in accordance with one implementation ofthe present invention;

FIG. 4 is a bar chart as seen on a display device illustrating theswivel bar concept of the present invention along with explanatoryinformation such as evidence supporting a cognitive analysis inaccordance with one implementation of the present invention;

FIG. 5 is a chart illustrating the logical flow for swivel bar graphcreation in accordance with one implementation of the present invention;and

FIG. 6 is a chart illustrating the logical flow for swivel bar graphinteraction in accordance with one implementation of the presentinvention.

The use of the same reference symbols in different drawings indicatessimilar or identical items.

DESCRIPTION OF THE PREFERRED EMBODIMENT(S)

Traditional bar graphs are a great way of showing numerical values withheight relations for a quick visual comparison. What they do not allowfor is showing relevant secondary information tied to a single bar. Somegraphics programs allow secondary information to be shown for every bar,but this approach leads to a very confusing and messy visualizationdepending on how many layers deep and wide the chart is. Furthermore,this approach may cause part of the visualization to become concealeddue to obstructions from other bars or secondary data within thevisualization. It would, therefore, be desirable to devise an improvedmethod of presenting secondary data with a chart such as a bar chartwhich could foreshadow to the user a way to explore additional relevantinformation tied to a single bar without presenting excessive graphicalfeatures. It would be further advantageous if the method could show theuser that there is other data available that might be useful to view butin the end leaves it up to user whether or not to view it.

The present invention addresses these goals by showing the most relevantdata from a 3D bar graph on the front plane as primary bars whileoffering a slight hint of additional data being available along a third(depth) axis for one or more of the primary bars, referred to herein asswivel bars. The secondary data is shown only when the user brings theprimary bar or other graphical feature into focus, i.e., the secondarydata swivels from the background axis to a foreground axis, e.g., thehorizontal axis, pivoting about the associated primary bar. Thesecondary data set can be brought forward to the front plane withoutcreating obstructions of other data. This solution shows the user themost relevant data on the forefront and invites the user to see thesecondary data if desired. The folding/unfolding technique of thepresent invention offers the secondary data sets in smaller chunks whichis easier for the user to understand and digest instead of beingpresented with the whole 3-D data set in a messy visualization.

With reference now to the figures, and in particular with reference toFIG. 1, there is depicted one embodiment 10 of a computer system inwhich the present invention may be implemented to create and interactwith graphical presentations including but not limited to 3D bar charts.Computer system 10 is a symmetric multiprocessor (SMP) system having aplurality of processors 12 a, 12 b connected to a system bus 14. Systembus 14 is further connected to and communicates with a combined memorycontroller/host bridge (MC/HB) 16 which provides an interface to systemmemory 18. System memory 18 may be a local memory device oralternatively may include a plurality of distributed memory devices,preferably dynamic random-access memory (DRAM). There may be additionalstructures in the memory hierarchy which are not depicted, such ason-board (L1) and second-level (L2) or third-level (L3) caches. Systemmemory 18 has loaded therein a graphics application which includes theswivel bar functionality of the present invention.

MC/HB 16 also has an interface to peripheral component interconnect(PCI) Express links 20 a, 20 b, 20 c. Each PCI Express (PCIe) link 20 a,20 b is connected to a respective PCIe adaptor 22 a, 22 b, and each PCIeadaptor 22 a, 22 b is connected to a respective input/output (I/O)device 24 a, 24 b. MC/HB 16 may additionally have an interface to an I/Obus 26 which is connected to a switch (I/O fabric) 28. Switch 28provides a fan-out for the I/O bus to a plurality of PCI links 20 d, 20e, 20 f These PCI links are connected to more PCIe adaptors 22 c, 22 d,22 e which in turn support more I/O devices 24 c, 24 d, 24 e. The I/Odevices may include, without limitation, a keyboard, a graphicalpointing device (mouse), a microphone, a display device, speakers, apermanent storage device (hard disk drive) or an array of such storagedevices, an optical disk drive which receives an optical disk 25 (oneexample of a computer readable storage medium) such as a CD or DVD, anda network card. Each PCIe adaptor provides an interface between the PCIlink and the respective I/O device. MC/HB 16 provides a low latency paththrough which processors 12 a, 12 b may access PCI devices mappedanywhere within bus memory or I/O address spaces. MC/HB 16 furtherprovides a high bandwidth path to allow the PCI devices to access memory18. Switch 28 may provide peer-to-peer communications between differentendpoints and this data traffic does not need to be forwarded to MC/HB16 if it does not involve cache-coherent memory transfers. Switch 28 isshown as a separate logical component but it could be integrated intoMC/HB 16.

In this embodiment, PCI link 20 c connects MC/HB 16 to a serviceprocessor interface 30 to allow communications between I/O device 24 aand a service processor 32. Service processor 32 is connected toprocessors 12 a, 12 b via a JTAG interface 34, and uses an attentionline 36 which interrupts the operation of processors 12 a, 12 b. Serviceprocessor 32 may have its own local memory 38, and is connected toread-only memory (ROM) 40 which stores various program instructions forsystem startup. Service processor 32 may also have access to a hardwareoperator panel 42 to provide system status and diagnostic information.

In alternative embodiments computer system 10 may include modificationsof these hardware components or their interconnections, or additionalcomponents, so the depicted example should not be construed as implyingany architectural limitations with respect to the present invention. Theinvention may further be implemented in an equivalent cloud computingnetwork.

When computer system 10 is initially powered up, service processor 32uses JTAG interface 34 to interrogate the system (host) processors 12 a,12 b and MC/HB 16. After completing the interrogation, service processor32 acquires an inventory and topology for computer system 10. Serviceprocessor 32 then executes various tests such as built-in-self-tests(BISTs), basic assurance tests (BATs), and memory tests on thecomponents of computer system 10. Any error information for failuresdetected during the testing is reported by service processor 32 tooperator panel 42. If a valid configuration of system resources is stillpossible after taking out any components found to be faulty during thetesting then computer system 10 is allowed to proceed. Executable codeis loaded into memory 18 and service processor 32 releases hostprocessors 12 a, 12 b for execution of the program code, e.g., anoperating system (OS) which is used to launch applications and inparticular the graphics application of the present invention, results ofwhich may be stored in a hard disk drive of the system (an 1/0 device24). While host processors 12 a, 12 b are executing program code,service processor 32 may enter a mode of monitoring and reporting anyoperating parameters or errors, such as the cooling fan speed andoperation, thermal sensors, power supply regulators, and recoverable andnon-recoverable errors reported by any of processors 12 a, 12 b, memory18, and MC/HB 16. Service processor 32 may take further action based onthe type of errors or defined thresholds.

The present invention may be a system, a method, and/or a computerprogram product. The computer program product may include a computerreadable storage medium (or media) having computer readable programinstructions thereon for causing a processor to carry out aspects of thepresent invention.

The computer readable storage medium can be a tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable), or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, or either source code or object code written in anycombination of one or more programming languages, including an objectoriented programming language such as Java, Smalltalk, C++ or the like,and conventional procedural programming languages, such as the “C”programming language or similar programming languages.

The computer readable program instructions may execute entirely on theuser's computer, partly on the user's computer, as a stand-alonesoftware package, partly on the user's computer and partly on a remotecomputer or entirely on the remote computer or server. In the latterscenario, the remote computer may be connected to the user's computerthrough any type of network, including a local area network (LAN) or awide area network (WAN), or the connection may be made to an externalcomputer (for example, through the Internet using an Internet ServiceProvider). In some embodiments, electronic circuitry including, forexample, programmable logic circuitry, field-programmable gate arrays(FPGA), or programmable logic arrays (PLA) may execute the computerreadable program instructions by utilizing state information of thecomputer readable program instructions to personalize the electroniccircuitry, in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions may be provided to aprocessor of a general purpose computer, special purpose computer, orother programmable data processing apparatus to produce a machine, suchthat the instructions, which execute via the processor of the computeror other programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks. These computer readable program instructionsmay also be stored in a computer readable storage medium that can directa computer, a programmable data processing apparatus, and/or otherdevices to function in a particular manner, such that the computerreadable storage medium having instructions stored therein comprises anarticle of manufacture including instructions which implement aspects ofthe function/act specified in the flowchart and/or block diagram blockor blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the block may occur out of theorder noted in the figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts or carry out combinations of special purpose hardwareand computer instructions.

Computer system 10 carries out program instructions for a graphicalpresentation process that uses novel imaging techniques to managesecondary data supporting a visualization. Accordingly, a programembodying the invention may include conventional aspects of variousgraphical presentation tools, and those details will become apparent tothose skilled in the art upon reference to this disclosure.

Referring now to FIG. 2, there is depicted an example of a userinterface 50 which may be used according to one implementation of thepresent invention to create and display graphical presentations havingone or more graphs or charts, including bar charts. User interface 50may be part of (generated by) the graphics package installed on computersystem 10 and is seen on a screen or display device 52, such as a liquidcrystal display, which may be one of the I/O devices 24 of computersystem 10. This screen 52 may be the same as that used to display thegraphs that are seen in the following FIGS. 3A-3D and 4. The userinterface may be responsive to a visual pointer 54 controlled by agraphical pointing device, e.g., mouse. As with the discussion ofcomputer system 10, the particular details of screen 52 and pointer 54described herein should not be construed in a limiting sense as they areperipheral to the invention. For example, the user interface could beseen using an optical head-mounted display in the shape of eyeglasseswith the pointer controlled by one or more touchpads located on thesides of the eyeglasses, or controlled via voice activation.

In this example user interface 50 has a menu bar 56 which includes fiveprimary commands: “File”, “Edit”, “View”, “Tools”, and “Help”. Userinterface 50 may have other menu-type features not shown such as a menuribbon, tabs, buttons, etc. Clicking on one of the commands on menu bar56 (using a mouse button or other activation method) can result in adrop-down menu 58 as seen with the “Tools” command. Drop-down menu 58has eight items or rows, one of these being a “Charts” command whichalso has a right arrow symbol indicating that activating this commandwill open a further drop-down menu 60. Drop-down menu 60 has morecommands for generating various types of charts, including a “Bar”command which can further be used to open an options menu 62. Optionsmenu 62 uses pre-defined, adjustable templates to automatically generatevarious types of bar charts. The bar chart can be 2D, 3D, or 3D withswivel bars. It can also have vertical columns, or horizontal columns.Those skilled in the art will appreciate that other options may beapplied to generating bar charts as well as other types of charts.

When the user selects the 3D with swivel bars option from options menu62, user interface 50 responsively creates a window or pane 64 havingvarious fields which allow the user to input the data that will bereflected in the bar chart. In this implementation window 64 has severalunique fields such as a chart title and a chart legend, as well asmultiple cells arranged in the manner of a spreadsheet for enteringprimary data (labels and corresponding data values for primary bars ofthe chart), and secondary data (labels and corresponding data values forsecondary bars associated with certain primary bars). For this examplethe chart to be created pertains to an evaluation of the results of acognitive analysis, specifically, a responsive answer to a naturallanguage question submitted to a deep question answering system such asthe Watson cognitive technology marketed by International BusinessMachines Corp. The user has entered a chart title of “Confidence” and alegend of “Q: Operation Desert Storm was the codename for what war?”.The first primary bar label is “Gulf War” with a corresponding value of97.5. This primary bar has secondary data associated with it, the firstsecondary bar label being “First Gulf War” with an associated value of5.4. Other secondary bar labels and values associated with this firstprimary bar are not visible in FIG. 2 but are input by moving the focusof the spreadsheet to an adjacent cell by using arrow keys on thecomputer keyboard or using a scroll bar as part of window 64. Thespreadsheet also shows other cells filled in for other primary barsincluding “Iraq” (value 5.4), “The Gulf” (value 4.0), “Iraqi Freedom”(value 2.7), “Kuwait” (value 2.3), and “2003 Iraq War” (value 1.3).Again, additional primary bars are not visible in FIG. 2 but are inputby moving the focus of the spreadsheet to cells in lower rows.

User interface 50 is one way to allow a user to manually input the datarequired by the graphics program to generate a bar chart, but thoseskilled in the art will appreciate that many other methods andinterfaces can be used. The required data may also be compiledautomatically using customized programs or scripts to extract labels anddata values from a particular system, such as the deep questionanswering system.

The result of the user input from FIG. 2 is the 3D swivel bar graph seenin FIGS. 3A-3D, generated by appropriate program instructions carriedout by computer system 10 based on the user input. FIG. 3A shows aninitial form 70 a of the 3D swivel bar graph wherein no secondary datais directly shown, that is, the information relating to secondary datafor any primary bars is partially hidden or compressed behind thecorresponding primary bar. Further to this example, there are twoprimary bars (swivel bars) with secondary data: the first primary bar“Gulf War”, and the third primary bar “The Gulf”. Each of those twoprimary bars has other, shorter bars (blocks) trailing behind along thez-axis providing a 3D visual hint to the user that additionalinformation is available for these two primary bars. Thus, the swivelbar can foreshadow to the user a way to explore additional relevantinformation associated with a single primary bar but without creating aninterface that is too busy and confusing.

From the visual perspective of the three-dimensional aspect of thegraphs seen in FIGS. 3A-3D, the depth direction is indicated by a skewedangle from the horizontal which has a slightly downward pitch (˜30°).That is, a portion of a partially hidden secondary bar when in thecompressed (condensed) state is still visible underneath the previousbar, i.e., they are overlapping. The overall width for the presentationof a condensed swivel bar is slightly larger than the width for aprimary bar having no secondary data. However, these details areimplementation-specific, and other graphs conforming to the presentinvention could use different perspectives and attributes. For example,instead of the bars or blocks viewed as sitting along a common floorplane, they could be hanging from a common ceiling plane in which casethe pitch of secondary blocks along the z-axis could be upward. Thoseskilled in the art will thus appreciate that the invention is notlimited to any particular graphical scheme, only that it allow theviewer to infer a third dimension in the graph. Similarly, the terms“vertical”, “horizontal”, “depth”, “x-axis”, “y-axis”, and “z-axis”should not be construed in a limiting sense as these are relative termsdependent upon a particular perspective. Moreover, the three dimensionsor axes of the graph need not be orthogonal. FIG. 3A can be considered adefault or starting version for a 3D swivel bar graph since allsecondary data is shown compressed, i.e., before any particular primarybar has been selected for inspection.

If a user wants to explore the secondary data of a swivel bar, that barcan be activated such as by clicking the mouse when pointer 54 ishovering over the swivel bar, as seen with the first swivel bar labeled“Gulf War” in FIG. 3A. Clicking on a swivel bar in this manner willbring the associated secondary data to the front plane as seen in themodified graph 70 b of FIG. 3B. That is, the blocks or bars forming thesecondary data are no longer seen along the depth axis, but rather arespread out along the horizontal axis, their bottoms aligned with theprimary bars. In this expanded state they are fully visible. Thegraphics package running on computer system 10 can provide a movinganimation that incrementally shows the secondary bars shifting positiontoward the final arrangement to make the transition between the twographs 70 a, 70 b smoother. Labels for the secondary bars also becomevisible. In this case, the secondary bar labels associated with thefirst primary bar include “First Gulf War”, “Persian Gulf War”, “IraqWar”, “Gulf War I”, “The Persian Gulf War” (only partially rendered),and “The Gulf War”. Only the secondary bars of the selected primary barare swiveled to the forefront, i.e., secondary data for other primarybars is still compressed such as the secondary bars associated with thethird primary bar labeled “The Gulf”. This swiveling of the secondarydata pushes the other primary bars to the side (in this implementation,to the right) to make room; this action may end up pushing some of theedge bars off the screen, i.e., removed from the graph.

FIGS. 3A-3D show an optional feature of the graphics package pertainingto the legend. The legend can have multiple fields corresponding todifferent rows or lines, with each line independent of the others. Userinterface 50 can allow the user to enter a string pointer (variable) aspart of one of the lines. In the example of FIGS. 3A-3D, the second lineis a variable that points to a label of a primary bar which isconsidered the current focus. The focus is set/detected based onactivation of the primary bar, e.g., using the pointer 54. Thus, whenthe user clicks on the first primary bar the second line of the legendbecomes “A: Gulf War”; when the user clicks on the second primary barthe second line of the legend becomes “A: Iraq” (see FIG. 3C); when theuser clicks on the third primary bar the second line of the legendbecomes “A: The Gulf” (see FIG. 3D), etc.

If the graph is showing secondary data in the foreground and one of theother primary bars is selected, then the secondary data currently beingshown can be retracted. For example, if the screen is showing themodified graph 70 b of FIG. 3B and the user selects the second primarybar labeled “Iraq” as indicated by pointer 54 a, the screen willtransition to the modified graph 70 c of FIG. 3C wherein the secondarydata for the first primary bar labeled “Gulf War” is again compressed.Although this automatic retraction of non-selected secondary data isdeemed preferable for the aesthetics of a presentation, the inventioncould still allow the secondary data of a previously selected primarybar to remain in the foreground until that primary bar is explicitlydeselected.

When the user selects another primary bar, if there is any secondarydata associated with that bar it will now be moved to the forefront, butthe second primary bar labeled “Iraq” has no associated secondary dataso the only change in the graphic itself is the retraction. Thusmodified graph 70 c is the same as modified graph 70 b except for thesecond line of the legend. However, when the user selects the thirdprimary bar labeled “The Gulf” as indicated by pointer 54 b in FIG. 3B,the associated secondary data is swiveled forward to the front plane asseen in the modified graph 70 d of FIG. 3D. Again, labels for thesecondary bars also become visible. In this case, the secondary barlabels associated with the third primary bar include “Gulf”, and“Persian Gulf”. In the examples of FIGS. 3B and 3D only the primary barshave height (quantitative value) indications, but the graphics programcould be designed to also provide height indications for secondary bars.

The present invention can further be applied at multiple levels, i.e., asecondary bar can also be a swivel bar having its own associated(tertiary) data which is hidden until that secondary bar is selected.

It may be desirable for some applications to allow for even moreinformation to be selectively displayed in conjunction with the barchart. For example, in the application of evaluating a response from acognitive system, it would be useful to provide explanatory informationsuch as evidence from the system analysis which supports the particularanswer being scrutinized. This example is illustrated in the bar chart80 of FIG. 4. The question being considered is “What date is theIndependence Day?” The cognitive system has arrived at multiple possibleanswers to this question, the top ten of which (according to confidence)are depicted in the chart: “National Day”, “4 July”, “Memorial Day”,“1962”, “5 December”, “1 July”, “June 12”, “Tynwald Day”, “18 April”,and “Iyar”. The first two primary bars are swivel bars, with thesecondary data for the first primary bar shown at the forefront(“Australia Day”, “Bastille Day”).

These candidate answers were obtained from various lexical sources(corpora) such as text documents. Deep question answering systems canidentify passages from extensive corpora and analyze them in variousways in order to extract answers relevant to a query; answers can bescored on a number of factors, and the highest score indicates the“best” answer according to the designer of the system. Models forscoring and ranking the answer can be trained on the basis of large setsof question and answer pairs. The answers (bar labels), confidencelevels (bar values), and evidence are all provided by the cognitivesystem according to conventional means, and placed in a format which isreadable by the graphics package running on computer system 10.

In this implementation of the invention, the evaluator can select aparticular answer (whether in the legend below the graphic or one of thelabels that are part of the graphic) to expose explanatory informationpertaining to this term. The explanatory information for thisapplication is evidence from the various corpora supporting thecandidate answer. As seen in FIG. 4, the answer provided by thecognitive system with the highest confidence is “National Day”. However,the designer who is undertaking the evaluation of the cognitive systemknows that the question was asked from a location in Foster City,Calif., so the answer most likely to be correct is the 4^(th) of July(the second answer provided by the cognitive system, but with a muchlower confidence). The designer accordingly digs into this answer byclicking on “National Day” in the legend of the chart, which causes thegraphics program to augment the visualization by producing evidence 82in the form of sentences, clauses and phrases from the corpora 84 withthe relevant search term highlighted. In this case, the evidence ispresented below the legend, i.e., at the bottom of the visualpresentation.

As seen in FIG. 4, the evidence provides an indication that the phrase“National Day” is used in a wide variety of cultures around the worldfor an annual celebration relating to a country. Viewing thisexplanatory information, the evaluator understands that the term“National Day” is a generic equivalent to “Independence Day” in a globalcontext, which is the source of the error since the geographical contextshould specifically have been America. This selective presentation ofadditional evidence keeps the clutter of the chart to a minimum untilfurther elucidation is required.

The present invention may be further understood with reference to thechart of

FIG. 5 which illustrates the logical flow for a swivel bar graphcreation process 90 in accordance with one implementation of the presentinvention which may be carried out by computer system 10. Process 90begins by receiving the relevant data (92), e.g., as a computer-readablefile provided electronically from the cognitive system, or manuallyprovided through user interface 50. The graphics package running oncomputer system 10 generates the primary bar graph and populates theprimary bars with their corresponding data values (94). A check is thenmade for each primary bar in the graph (96). If secondary data isavailable for the current primary bar (98), each secondary data set isvisually layered on the graph along a depth axis compressed behind thecorresponding primary bar (100). Each of these secondary bars is thenconsidered (102). A transparency fade is applied to each bar at 25%increments from the parent bar (104), i.e., the first secondary bar willhave a 25% transparency, the second secondary bar will have a 50%transparency, the third secondary bar will have a 75% transparency, andthe fourth and subsequent bars will all be completely transparent (untilbrought into focus). Once all secondary data for a given primary bar isso layered and faded, the next primary bar is examined, and this processis repeated for each primary bar until all secondary data has beenrendered. Other transparency increments can be used, e.g., 10% or 35%.

FIG. 6 is a chart illustrating the logical flow for a swivel bar graphinteraction process 110 in accordance with one implementation of thepresent invention which may also be carried out by computer system 10after rendering the initial chart according to FIG. 5. Process 110begins when a swivel bar on a displayed bar chart is selected, e.g., byclicking with a mouse (112). The graphics program responsivelycalculates the spacing (horizontal) offsets needed to contract anysecondary data on another swivel bar which is currently the focus of thechart, and the spacing offsets needed to expand secondary data for thenewly selected swivel bar (114). An animation is then performed wherethe newly selected swivel bar is rotated out (forward) and thepreviously selected swivel bar is rotated in (back), while applying thecalculated offsets to shift the rest of the bars in the visualization(116). All secondary bars and secondary bar labels for the newlyselected swivel bar fade in to full opacity and the previously selectedsecondary data is deselected, i.e., returned to transparency (118). Theprogram then waits for the next user interaction (120), which mayinclude activation of another swivel bar (returning to 112).

The present invention thereby provides a superior presentation allowinga user to easily realize that other notable information exists forcertain features of the chart and can be brought forward in an intuitivemanner. This approach keeps the core visualization cleaner, lessdistracting, and offers the data sets in smaller, controlled chunksinstead of one big confusing data set.

Although the invention has been described with reference to specificembodiments, this description is not meant to be construed in a limitingsense. Various modifications of the disclosed embodiments, as well asalternative embodiments of the invention, will become apparent topersons skilled in the art upon reference to the description of theinvention. For example, the invention is applicable to any bar-typechart including histograms and is even usable with other types of chartsas long as they can be rendered with a three-dimensional perspective. Itis therefore contemplated that such modifications can be made withoutdeparting from the spirit or scope of the present invention as definedin the appended claims.

What is claimed is:
 1. A method of displaying secondary data associatedwith primary data, comprising: generating a three-dimensionalvisualization of the primary data using a display device, thethree-dimensional visualization including a plurality of primarygraphical elements representing primary quantitative values and aplurality of primary labels respectively associated with and proximateto the primary graphical elements, the primary graphical elements andprimary labels being presented on a front plane of the three-dimensionalvisualization, the front plane defining first and second axes, and atleast one of the primary graphical elements having associated secondarygraphical elements representing secondary quantitative values whereinthe secondary graphical elements are presented along a third axis of thethree-dimensional visualization, the third axis being different from thefirst and second axes; detecting that the at least one primary graphicalelements has been selected; and responsive to said detecting,transitioning the three-dimensional visualization by moving thesecondary graphical elements from the third axis of thethree-dimensional visualization to the front plane of thethree-dimensional visualization.
 2. The method of claim 1 wherein thevisualization is a bar chart and the primary and second graphicalelements are bars.
 3. The method of claim 1 further comprising: seconddetecting that another one of the primary graphical elements has beenselected; and responsive to said second detecting, further transitioningthe three-dimensional visualization by moving the secondary graphicalelements from the front plane of the three-dimensional visualizationback to the third axis of the three-dimensional visualization.
 4. Themethod of claim 1 wherein the secondary graphical elements areoverlapping and are visually located behind the at least one primarygraphical element when presented along the third axis of thethree-dimensional visualization.
 5. The method of claim 1 wherein saidtransitioning further includes shifting certain ones of the primarygraphical elements along the first axis to provide spacing toaccommodate the secondary graphical elements at the front plane.
 6. Themethod of claim 1 wherein the secondary graphical elements are arrangedalong a skewed angle from the first axis which has a downward pitch. 7.The method of claim 1 wherein one or more of the secondary graphicalelements are at least partially transparent when presented along thethird axis of the three-dimensional visualization.
 8. A computer systemcomprising: one or more processors which process program instructions; adisplay device; a memory device connected to said one or moreprocessors; and program instructions residing in said memory device fordisplaying secondary data associated with primary data by generating athree-dimensional visualization of the primary data on the displaydevice, the three-dimensional visualization including a plurality ofprimary graphical elements representing primary quantitative values anda plurality of primary labels respectively associated with and proximateto the primary graphical elements, the primary graphical elements andprimary labels being presented on a front plane of the three-dimensionalvisualization, the front plane defining first and second axes, and atleast one of the primary graphical elements having associated secondarygraphical elements representing secondary quantitative values whereinthe secondary graphical elements are presented along a third axis of thethree-dimensional visualization, the third axis being different from thefirst and second axes, detecting that the at least one primary graphicalelements has been selected, and responsive to the detecting,transitioning the three-dimensional visualization by moving thesecondary graphical elements from the third axis of thethree-dimensional visualization to the front plane of thethree-dimensional visualization.
 9. The computer system of claim 8wherein the visualization is a bar chart and the primary and secondgraphical elements are bars.
 10. The computer system of claim 8 whereinsaid program instructions further detect that another one of the primarygraphical elements has been selected and transition thethree-dimensional visualization by moving the secondary graphicalelements from the front plane of the three-dimensional visualizationback to the third axis of the three-dimensional visualization.
 11. Thecomputer system of claim 8 wherein the secondary graphical elements areoverlapping and are visually located behind the at least one primarygraphical element when presented along the third axis of thethree-dimensional visualization.
 12. The computer system of claim 8wherein the transitioning further includes shifting certain ones of theprimary graphical elements along the first axis to provide spacing toaccommodate the secondary graphical elements at the front plane.
 13. Thecomputer system of claim 8 wherein the secondary graphical elements arearranged along a skewed angle from the first axis which has a downwardpitch.
 14. The computer system of claim 8 wherein one or more of thesecondary graphical elements are at least partially transparent whenpresented along the third axis of the three-dimensional visualization.15. A computer program product comprising: a computer readable storagemedium; and program instructions residing in said storage medium fordisplaying secondary data associated with primary data by generating athree-dimensional visualization of the primary data on the displaydevice, the three-dimensional visualization including a plurality ofprimary graphical elements representing primary quantitative values anda plurality of primary labels respectively associated with and proximateto the primary graphical elements, the primary graphical elements andprimary labels being presented on a front plane of the three-dimensionalvisualization, the front plane defining first and second axes, and atleast one of the primary graphical elements having associated secondarygraphical elements representing secondary quantitative values whereinthe secondary graphical elements are presented along a third axis of thethree-dimensional visualization, the third axis being different from thefirst and second axes, detecting that the at least one primary graphicalelements has been selected, and responsive to the detecting,transitioning the three-dimensional visualization by moving thesecondary graphical elements from the third axis of thethree-dimensional visualization to the front plane of thethree-dimensional visualization.
 16. The computer program product ofclaim 15 wherein the visualization is a bar chart and the primary andsecond graphical elements are bars.
 17. The computer program product ofclaim 15 wherein said program instructions further detect that anotherone of the primary graphical elements has been selected and transitionthe three-dimensional visualization by moving the secondary graphicalelements from the front plane of the three-dimensional visualizationback to the third axis of the three-dimensional visualization.
 18. Thecomputer program product of claim 15 wherein the secondary graphicalelements are overlapping and are visually located behind the at leastone primary graphical element when presented along the third axis of thethree-dimensional visualization.
 19. The computer program product ofclaim 15 wherein the transitioning further includes shifting certainones of the primary graphical elements along the first axis to providespacing to accommodate the secondary graphical elements at the frontplane.
 20. The computer program product of claim 15 wherein thesecondary graphical elements are arranged along a skewed angle from thefirst axis which has a downward pitch.